Mobile devices typically provide a number of different modes of communication. For example, a mobile device may be used to send and receive both voice and data communications. More specifically, with regards to data communications, a mobile device may allow different types of messages to be sent and received, including electronic mail messages, text messages, and personal identification number (PIN) messages, for example. Furthermore, many mobile devices are also adapted to receive multimedia content, which may include audio, video, web pages, and other information, some of which may be obtained from the Internet.
A file containing multimedia content may be transmitted to a mobile device such that it is first received at the mobile device in its entirety, before the data in the file is processed and delivered to a user. For example, a video file may be transmitted to a mobile device such that the mobile device first receives it in its entirety, before the user is able to view the video. In an alternative method of data delivery, data associated with multimedia content may be sent to a mobile device, where it is processed as it is received, through a method known generally as “streaming”. A stream is a potentially very long sequence of data bits that is split into individual packets for delivery. This method may be appropriate where the destination device has insufficient memory to buffer the whole stream, or where there is a desire to consume the data in real-time.
Data integrity is an important issue in data streaming applications. Authentication solutions are directed to ensuring that a recipient of the streamed data can determine if the data that has been received is authentic; in particular, that the data has not been corrupted or otherwise modified during transport. At least one example of a known authentication solution involves appending a signature or message authentication code (MAC) to each packet. This known solution, however, introduces significant overhead to the data transmission. Such overhead may be particularly unacceptable when the data is to be transmitted to mobile devices, due to the high costs associated with the increased bandwidth.